package drongo.desktop.utils
{
	public class StringUtil{
		/**
		 * 空格 
		 */		
		public static const SPACE:String=" ";
		
		public function StringUtil(){
			
		}
		
		/**
		 * 判断字符串是否为空
		 */
		public static function IsEmpty(value:String):Boolean
		{
			if(value==null||value==""||value.length==0){
				return true;
			}
			return false;
		}
		/**
		 * 根据分隔符来替换内容 
		 * @param str
		 * @param real									替换内容
		 * @param searchMode					0 从左到右的搜索方式,非0反之
		 * @param replaceMode					0 替换右边
		 * @param separator						分隔符
		 * @param replaceSeparator            替换是是否包含分隔符
		 * @return
		 */
		public static function replaceBySeparator(str:String,real:String,searchMode:int=0,replaceMode:int=0,separator:String=".",replaceSeparator:Boolean=false):String{
			var index:int=str.indexOf(separator);
			if(index>=0){
				var temp:String;
				if(replaceMode==0){
					if(replaceSeparator){
						temp=str.substring(0,index);
					}else{
						temp=str.substring(0,index+1);
					}
					return temp+real;
				}else if(replaceMode==1){
					if(replaceSeparator){
						temp=str.substr(index);
					}else{
						temp=str.substr(index-1);
					}
					return real+temp;
				}
			}
			return str;
		}
		/**
		 * 根据分隔符获取内容 
		 * @param str
		 * @param mode					0表示获取前方
		 * @param separator			分隔符
		 * @param searchMode		搜索方式 0 从左到右
		 * @return
		 */		
		public static function getBySeparator(str:String,mode:int=1,separator:String=".",searchMode:int=0):String{
			var index:int;
			if(searchMode==0){
				index=str.indexOf(separator);
			}else{
				index=str.lastIndexOf(separator);
			}
			if(index>=0){
				if(mode==0){
					return str.substring(0,index);
				}else{
					return str.substring(index+1);
				}
			}
			return str;
		}
		/**
		 * 从URL中获取文件后缀
		 * @param url
		 * @return 如果找到则返回后缀，否则返回null
		 * 
		 */		
		public static function getSuffixFromURL(url:String):String{
			var suffix:String=getBySeparator(url,1,".",1);
			if(suffix==url){
				return null;
			}
			return suffix;
		}
		/**
		 * 从URL中获取文件名(带后缀名的)
		 * @param url
		 * @return
		 */		
		public static function getFileWithsuffixNameFromURL(url:String):String{
			var idx:int = url.lastIndexOf("/");
			if(idx == -1) {
				idx = url.lastIndexOf("\\");
			}
			var fileName:String = url.substr(idx+1);
			return fileName;
		}
		/**
		 * 获取文件名称(不带后缀的)
		 * @param url
		 * @return 
		 */		
		public static function getFileNameFromURL(url:String):String{
			var withsuffixName:String=getFileWithsuffixNameFromURL(url);
			return replaceBySeparator(withsuffixName,"",1,0,".",true);
		}
		/**
		 *  去掉后缀后的url内容
		 * @param url
		 * @return 
		 * 
		 */		
		public static function cutUrlSuiffx(url:String):String{
			var index:int=url.lastIndexOf(".");
			return url.substring(0,index);
		}
	}
}